// 环境配置
export const config = {
  // API配置
  api: {
    baseUrl: import.meta.env.VITE_API_BASE_URL || 'https://api.mensanyun.com',
    timeout: parseInt(import.meta.env.VITE_API_TIMEOUT || '15000'),
  },
  
  // WebSocket配置
  ws: {
    baseUrl: import.meta.env.VITE_WS_BASE_URL || 'wss://api.mensanyun.com',
    reconnectAttempts: parseInt(import.meta.env.VITE_WS_RECONNECT_ATTEMPTS || '5'),
    reconnectDelay: parseInt(import.meta.env.VITE_WS_RECONNECT_DELAY || '1000'),
  },
  
  // 应用配置
  app: {
    name: import.meta.env.VITE_APP_NAME || 'SmartInput',
    version: import.meta.env.VITE_APP_VERSION || '1.0.0',
    debug: import.meta.env.DEV,
  },
  
  // 开发服务器配置
  devServer: {
    port: parseInt(import.meta.env.VITE_DEV_SERVER_PORT || '3003'),
    host: import.meta.env.VITE_DEV_SERVER_HOST || '0.0.0.0',
  }
};

// 获取完整的API URL
export const getApiUrl = (endpoint: string) => {
  return `${config.api.baseUrl}${endpoint}`;
};

// 获取完整的WebSocket URL
export const getWsUrl = (deviceId: string, token?: string) => {
  let url = `${config.ws.baseUrl}/ws/${deviceId}`;
  
  // 如果提供了token，添加到查询参数中
  if (token) {
    url += `?token=${encodeURIComponent(token)}&deviceId=${encodeURIComponent(deviceId)}`;
  }
  
  console.log('getWsUrl 被调用:', { deviceId, token: token?.substring(0, 20) + '...', url });
  return url;
};

// 检查是否为移动设备
export const isMobile = () => {
  return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
};

// 检查是否为开发环境
export const isDev = () => {
  return import.meta.env.DEV;
};

// 检查是否为生产环境
export const isProd = () => {
  return import.meta.env.PROD;
}; 